package com.mhc.haval.service;

import com.mhc.haval.bo.EditPasswordBO;
import com.mhc.haval.bo.StaffBO;
import com.mhc.haval.dal.model.StaffDO;
import com.mhc.haval.exception.HavalCommonException;
import com.subaru.common.query.PageResult;

import java.util.List;

/**
 * Created by HMJ on 2017/8/15.
 */
public interface StaffService {


    /**
     * 查询员工列表
     **/
    PageResult<StaffBO> queryByStaffList(StaffBO staffBO) throws HavalCommonException;

    /**
     * 按部门查询员工列表
     * @param deptId 部门ID
     **/
    List<StaffDO> getStaffsByDept(Long deptId);

    /**
     * 新增员工信息
     **/
    Boolean addStaffInfo(StaffBO staffBO, String[] roleArray) throws HavalCommonException;

    /**
     * 修改工信息
     **/
    Boolean editStaffInfo(StaffBO staffBO, String[] roleArray) throws HavalCommonException;

    /**
     * 查看员工详情信息
     **/
    StaffBO queryStaffInfoByStaffId(Long staffId) throws HavalCommonException;

    /**
     * 修改密码
     **/
    Boolean updateByPassword(EditPasswordBO editPasswordBO) throws HavalCommonException;

    /**
     * 停用/启用员工
     **/
    Boolean updateByStaffStatus(StaffBO staffBO) throws HavalCommonException;

    /**
     * 重置密码
     **/
    Boolean resetPassword(Long staffId) throws HavalCommonException;
	
}
